Passed
Push — master ( d4464b...8d34d2 )
by Mathieu
01:55
created

GetDailyRateAction.index   A

Complexity

Conditions 2

Size

Total Lines 8
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 8
c 0
b 0
f 0
rs 10
cc 2
1
import {
2
  Controller,
3
  Inject,
4
  BadRequestException,
5
  UseGuards,
6
  Param,
7
  Get
8
} from '@nestjs/common';
9
import {AuthGuard} from '@nestjs/passport';
10
import {ApiUseTags, ApiBearerAuth, ApiOperation} from '@nestjs/swagger';
11
import {IQueryBus} from 'src/Application/IQueryBus';
12
import {DailyRateView} from 'src/Application/Accounting/View/DailyRate/DailyRateView';
13
import {GetDailyRateByIdQuery} from 'src/Application/Accounting/Query/DailyRate/GetDailyRateByIdQuery';
14
import {IdDTO} from 'src/Infrastructure/Common/DTO/IdDTO';
15
16
@Controller('daily_rates')
17
@ApiUseTags('Accounting')
18
@ApiBearerAuth()
19
@UseGuards(AuthGuard('bearer'))
20
export class GetDailyRateAction {
21
  constructor(
22
    @Inject('IQueryBus')
23
    private readonly queryBus: IQueryBus
24
  ) {}
25
26
  @Get(':id')
27
  @ApiOperation({title: 'Get daily rate'})
28
  public async index(@Param() dto: IdDTO): Promise<DailyRateView> {
29
    try {
30
      return await this.queryBus.execute(new GetDailyRateByIdQuery(dto.id));
31
    } catch (e) {
32
      throw new BadRequestException(e.message);
33
    }
34
  }
35
}
36